Parallel image processing for multiple biometrics capture

ABSTRACT

According to an implementation, a biometric camera device includes a plurality of image sensors including a first image sensor and a second image sensor, and a plurality of biometric processors including a first biometric processor connected to the first image sensor and a second biometric processor connected to the second image sensor. The first biometric processor is configured to receive and process image data from the first image sensor according to a first biometric algorithm, and the second biometric processor is configured to receive and process image data from the second image sensor according to a second biometric algorithm. The biometric camera device includes a controller connected to each of the plurality of biometric processors. The controller is configured to receive processed biometric data from each of the biometric plurality of biometric processors.

BACKGROUND

Accurate biometrics template extraction from optical sensors may requirerelatively high resolution images to be captured. International CivilAviation Organization (ICAO) and other international standards requirerelatively large fields of view to be able to accommodate travelers ofall heights and physical disabilities. This is generally accomplished byeither moving cameras, auto-focusing cameras, or multiple cameras eachwith its own image processing algorithm running on a computer. In someexamples, one or more cameras may be positioned on amoving/self-adjusting platform, which are coupled to guides, and theuser uses the guides to align the cameras in the proper position forimage capture. All image processing is then performed on a powerfulcomputer, either locally or network attached. Local computers mayrequire additional infrastructure to handle the increase in power andheat loads, and the network attached computers may have to deal withlimitations of network latency affecting real time processing. Theseconventional approaches may result in increased capture and processingtime. However, minimizing processing time is important to bordersecurity and airport applications.

Furthermore, to create a multi-biometric image sensor with a large fieldof view (in some cases, an omnidirectional field of view), the requiredresolution of the image sensor may exceed devices that are commerciallyavailable and may exceed physical limits of available image sensors,communication methods and processors.

SUMMARY

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features will beapparent from the description and drawings, and from the claims.

According to an implementation, a biometric camera device includes aplurality of image sensors including a first image sensor and a secondimage sensor, and a plurality of biometric processors including a firstbiometric processor connected to the first image sensor and a secondbiometric processor connected to the second image sensor. The firstbiometric processor is configured to receive and process image data fromthe first image sensor according to a first biometric algorithm, and thesecond biometric processor is configured to receive and process imagedata from the second image sensor according to a second biometricalgorithm. The biometric camera device includes a controller connectedto each of the plurality of biometric processors. The controller isconfigured to receive processed biometric data from each of thebiometric plurality of biometric processors.

According to some implementations, the biometric camera device mayinclude one or more of the following features (or any combinationsthereof). In some examples, the first biometric algorithm and the secondbiometric algorithm relate to a same biometric. In some examples, thefirst biometric algorithm and the second biometric algorithm relate todifferent biometrics. The first biometric algorithm may relate to facerecognition and the second biometric algorithm may relate to palmdetection. The controller may be communicatively coupled to a hostcomputing device. The controller may be configured to transmit, over anetwork, the processed biometric data to the host computing device. Thecontroller may be configured to receive reprogramming information, overa network, from the host computing device, where the reprogramminginformation includes instructions for the controller to reprogram thefirst biometrics processor to process the image data according to abiometric algorithm different than the first biometric algorithm. Theplurality of image sensors defines a total field of view, and the totalfield of view may be divided into distinct, separate subsectionsincluding a first subsection and a second subsection. The first imagesensor may have a field of view corresponding to the first subsection,and the second image sensor may have a field of view corresponding tothe second subsection. The first image sensor may have a first field ofview, and the second image sensor may have a second field of view, wherethe second field of view at least partially overlaps with the secondfield of view. The first biometric processor may include afield-programmable gate array. The first biometric processor may includean application specific integrated circuit (ASIC) processor. Thecontroller may include a microcontroller (MCU). The controller may beconnected to the first biometric processor via at least one datacommunication line and at least one reprogramming line. The firstbiometric algorithm may include extracting a biometric template and areference image from the image data detected by the first image sensor.

According to an implementation, a method for parallel image processingfor capturing one or more biometrics includes detecting, by a firstimage sensor of a plurality of image sensors, first image data. Theplurality of image sensors defines a total field of view, and the firstimage sensor has a first field of view that corresponds to a firstsubsection of the total field of view. The method includes detecting, bya second image sensor of the plurality of image sensors, second imagedata. The second image sensor has a second field of view thatcorresponds to a second subsection of the total field of view. Themethod includes processing, by a first biometric processor connected tothe first image sensor, the first image data according to a firstbiometric algorithm to extract a first biometric template, processing,by a second biometric processor connected to the second image sensor,the second image data according to a second biometric algorithm toextract a second biometric template, and receiving, by a controllerconnected to each of the first and second biometrics processors, thefirst biometric template and the second biometric template from thefirst biometric processor and the second biometric processor,respectively.

According to some implementations, the method may include one or more ofthe following features (or any combination thereof). The method mayfurther include receiving, by the controller from a host computingdevice communicatively coupled to the controller, reprogramminginstructions to reprogram the first biometric processor, andreprogramming the first biometric processor to process the first imagedata according to a biometric algorithm different than the firstbiometric algorithm. The method may further include detecting, by athird image sensor of the plurality of image sensors, third image data,the third image sensor having a third field of view that corresponds toa third subsection of the total field of view, and processing, by athird biometric processor connected to the third image sensor, the thirdimage data according to a third biometric algorithm to extract a thirdbiometric template.

According to an implementation, a non-transitory computer readablemedium storing executable instructions that when executed by at leastone processor is configured to perform parallel image processing forcapturing one or more biometrics. The executable instructions includedetect, by a first image sensor of a plurality of image sensors, firstimage data, where the plurality of image sensors defines a total fieldof view, and the first image sensor has a first field of view, detect,by a second image sensor of the plurality of image sensors, second imagedata, where the second image sensor has a second field of view, and thesecond field of view at least partially overlaps with the first field ofview, process, by a first biometric processor connected to the firstimage sensor, the first image data according to a first biometricalgorithm to extract a first biometric template, process, by a secondbiometric processor connected to the second image sensor, the secondimage data according to a second biometric algorithm to extract a secondbiometric template, where the second image data is processed at leastpartially in parallel with the first image data, and the secondbiometric algorithm is different to the first biometric algorithm, andreceive, by a controller connected to each of the first and secondbiometrics processors, the first biometric template and the secondbiometric template from the first biometric processor and the secondbiometric processor, respectively.

According to some implementations, the executable instructions mayinclude one or more of the following operations (or any combinationthereof). The executable instructions may include detect, by a thirdimage sensor of the plurality of image sensors, third image data, wherethe third image sensor has a third field of view, and the third field ofview is a subsection of a total field of view different than the firstfield of view, and process, by a third biometric processor connected tothe third image sensor, the third image data according to a thirdbiometric algorithm to extract a third biometric template. Theexecutable instructions may include receive, by the controller from ahost computing device communicatively coupled to the controller,reprogramming instructions to reprogram the first biometric processor,and reprogram the first biometric processor to process the first imagedata according to a different biometric algorithm.

According to an implementation, a biometric camera device includessearching, by a first pair of image sensors, a first subsection of anoverall field of view of a biometrics camera, where the first pair ofimage sensors includes a first image sensor and a second image sensor,searching, by a second pair of image sensor, a second subsection of theoverall field of view of the biometrics camera, where the second pair ofimage sensors includes a third image sensor and a fourth image sensor,processing, by a first biometric processor connected to the first imagesensor, image data captured by the first image sensor from the firstsubsection according to a first biometric algorithm, processing, by asecond biometric processor connected to the second image sensor, imagedata captured by the second image sensor from the first subsectionaccording to a second biometric algorithm, processing, by a thirdbiometric processor connected to the third image sensor, image datacaptured by the third image sensor from the second subsection accordingto the first biometric algorithm, and processing, by a fourth biometricprocessor connected to the fourth image sensor, image data captured bythe fourth image sensor from the second subsection according to thesecond biometric algorithm.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a biometric camera device for parallel imageprocessing for capturing one or more biometrics according to animplementation.

FIG. 2 illustrates a system having a host computing device for remotelyreprogramming a plurality of biometric camera devices according to animplementation.

FIG. 3 illustrates a biometric camera device for parallel imageprocessing for capturing one or more biometrics according to anotherimplementation.

FIG. 4 illustrates a biometric camera device for parallel imageprocessing for capturing one or more biometrics according to anotherimplementation.

FIG. 5 illustrates a biometric camera device for parallel imageprocessing for capturing one or more biometrics according to anotherimplementation.

FIG. 6 illustrates a biometric camera device for parallel imageprocessing for capturing one or more biometrics according to anotherimplementation.

FIG. 7 is a flowchart illustrating example operations of a biometriccamera device according to an implementation.

FIG. 8 is a flowchart illustrating example operations of a biometriccamera device according to another implementation.

FIG. 9 is a flowchart illustrating example operations of a biometriccamera device according to another implementation.

DETAILED DESCRIPTION

According to an aspect, the implementations discussed herein provide asingle biometric camera device having multiple image sensors withdedicated biometric processors (e.g., dedicated field programmable gatearray (FPGA) or application specific integrated circuit (ASIC)processors) that perform image capture, evaluation, and biometricprocessing in parallel. For example, the biometric camera device mayperform all image evaluation, processing, and biometric templateextraction locally (e.g., independent of any connected computer, eitherby direct, indirect, or network connection). The flexibility of thebiometric processors and the system architecture discussed herein allowsfor a relatively large number of image sensors to be arranged in anygeometric pattern to maximize overall field of view and optimizeextraction of one to multiple biometric templates. In some examples,multiple image sensors with dedicated hardware circuitry (e.g., FPGA orASIC Chips), which are optimized for biometrics capture, are embodiedinto a single physical device. In some examples, the image sensors andthe biometric processors that perform the image-based biometricprocessing are included within the same housing or attached to a commonframe. The multiple embedded image sensors can be arranged to processsubsections of the total field of view, and/or to search overlappingareas for different biometrics at the same time. In some examples, thebiometric camera device may perform dynamic allocation of imageprocessors to portions of image data from the full field of view, forexample assigning multiple biometric processors to perform templategeneration from images on the subset of sensors that are detecting ahigh-quality iris image. Also, this device may focus on extracting thebiometric template and a reference image from the overall field of view,where only the relevant information (e.g., biometric template andreference image) is sent to a host computing device. For example,instead of sending the entire video feed and having the host computingdevice determine which frame includes a face (e.g., in the case offacial recognition), the biometric camera device makes thatdetermination, and only sends the relevant data back to the hostcomputing device, which can reduce the amount of information transferredover a network and increase the processing time. Furthermore, as allimage processing occurs locally and with dedicated hardware, a largefield of view and biometrics capture can happen simultaneously and inreal time.

Furthermore, the biometric camera device may maximize the resolution andfield of view with no moving parts or human direction. The grid ofsensors may allow the lenses to be focused on smaller subsections of thedesired field of view, thereby increasing the pixel density for eachsubsection. This may allow the system to operate with a short focaldepth and maintain a large depth of field where accurate ICAOcomplainant biometric images can be acquired.

FIG. 1 illustrates a biometric camera device 100 for parallel imageprocessing for capturing one or more biometrics according to animplementation. The biometric camera device 100 includes a plurality ofimage sensors 102, a plurality of biometric processors 104, a controller106, and a network interface 108. In some examples, the biometric cameradevice 100 includes a battery 107. In some examples, the biometricscamera device 100 may be connected to an external power source (e.g., apower socket). In some examples, the biometrics camera device 100 may berelatively compact and relatively mobile in which a person can easilymove the biometrics camera device 100 from one location to anotherlocation (e.g., move the biometrics camera device 100 from an electronicdate to an immigration booth). Also, the biometric camera device 100includes a housing 109 that is configured to at least partially enclosethe components of the biometric camera device 100 (e.g., the imagesensors 102, the biometric processors 104, the controller 106, thebattery 107, and the network interface 108). The housing 109 may includea single casing or a casing having multiple components that are coupledtogether. The housing 109 may include one or more polymer-basedmaterials and/or metal-based materials.

The biometric camera device 100 may be used in a wide variety ofapplications, which may include border security, airport security,and/or generally any type of application that uses image processing andbiometrics. In some examples, the biometric camera device 100 can bedisposed at an electronic gate, an immigration booth, an event admissionkiosk, or a border control system.

The biometric camera device 100 may capture image data from the imagesensors 102 and process the image data (at least partially in parallel)using the biometric processors 104 such that one or multiple biometricscan be captured simultaneously (at or around the same time) in real-timeor near real time. A biometric may be the measurement and/or calculationof a human characteristic such as facial recognition, facial expressionrecognition, signature, keystrokes, DNA, palm detection, palm print,hand geometry, iris detection, shape of the ear, fingerprints,behavioral characteristics, or generally any metric relating to a humancharacteristic that can serve to identify and/or label a person or groupof people. The biometric camera device 100 may provide a relativelylarge field of view in which multiple biometrics can be searched indifferent or same field of view subsections. The image processing isperformed locally (e.g., within the biometric camera device 100), whichcan speed up the processing time as compared with conventional methodsthat perform the biometric processing at a computer apart from thesensors.

In some examples, the image sensors 102 include digital sensors. In someexamples, the image sensors 102 include analog sensors. In someexamples, the image sensors 102 include charge coupled device (CCD)sensors. In some examples, the image sensors 102 include ComplementaryMetal Oxide Semiconductor (CMOS) sensors. In some examples, each imagesensor 102 includes a lens defining a field of view (in whichinformation is detected as an image). In some examples, the imagesensors 102 include large field of view (e.g., 90 degrees or larger)image sensors. In some examples, the image sensors 102 includenon-autofocus, high resolution (e.g., 1920×1080 pixels or higher)sensors with a relatively fast data rate to stream uncompressed imagesin real time. In some examples, the data rate is greater or equal to 30frames per second.

The image sensors 102 may be arranged in a geometric shape or pattern.In some examples, the image sensors 102 are arranged in atwo-dimensional shape. In some examples, the image sensors 102 arearranged in a three-dimensional shape. In some examples, the geometricshape includes one or more curved portions and one or more linearportions. In some examples, the geometric shape includes a sphereportion. The type of geometric shape or pattern may depend on theapplication of the biometric camera device 100. In some examples, theimage sensors 102 are un-patterned or do not form a particular pattern.

The image sensors 102 may include a first image sensor 102-1, a secondimage sensor 102-2, and a third image sensor 102-3 through Nth imagesensor 102-N. In some examples, N may be any integer greater or equal tofour. In some examples, N may be greater or equal to 5. In someexamples, N may be greater or equal to 10. In some examples, N may begreater or equal to 25. In some examples, N may be greater or equal to100. Each of the image sensors 102 detects image data within its fieldof view. In some examples, the image sensors 102 are arranged such thateach image sensor 102 has a non-overlapping field of view with eachother. For example, the plurality of image sensors 102, collectively,may define a total field of view (e.g., the part of its surroundingsthat is visible through the biometric camera device 100 at a particularposition and orientation). The total field of view is divided into aplurality of subsections, where the field of view of each individualimage sensor 102 corresponds to a different, non-overlapping section ofthe total field of view. In particular, the first image sensor 102-1 mayhave a first field of view that corresponds to a first subsection of thetotal field of view, the second image sensor 102-2 may have a secondfield of view that corresponds to a second subsection of the total fieldof view, and the third image sensor 102-3 may have a third field of viewthat corresponds to a third subsection of the total field of view, andso forth. In some examples, the first subsection, the second subsection,and the third section (and continuing to the Nth section) are different,non-overlapping areas within the total field of view of the biometriccamera device 100.

In some examples, the image sensors 102 are arranged such that two ormore of the image sensors 102 have overlapping (e.g., partiallyoverlapping, or fully overlapping) field of views. For example, thefirst field of view of the first image sensor 102-1 may overlap (e.g.,partially or fully) with the second field of view of the second imagesensor 102-2. In some examples, the third field of view of the thirdimage sensor 102-3 may overlap (e.g., partially or fully) with thesecond field of view of the second image sensor 102-2 and/or the firstfield of view of the first image sensor 102-1. In other examples, thethird field of view of the third image sensor 102-3 may overlap (e.g.,partially or fully) with the second field of view of the second imagesensor 102-2 but does not overlap (e.g., completely separate) with thefield of view of the first image sensor 102-1.

The biometric camera device 100 may include a dedicated biometricprocessor 104 connected to each of the plurality of image sensors 102.For example, instead of sending the imaging data to a high-poweredcomputer for data processing, the biometric processors 104 may performimage processing and biometric extraction at the device level, therebyincreasing the processing speed at which biometrics can be extracted.The number (M) of biometric processors 104 may equal the number (N) ofimage sensors 102. A first biometric processor 104-1 may be connected tothe first image sensor 102-1, a second biometric processor 104-2 may beconnected to the second image sensor 102-2, a third biometric processor104-3 may be connected to the third image sensor 102-3, and an Mthbiometric processor 104-M may be connected to the Nth image sensor102-N. In some examples, the biometric processors 104 includefield-programmable gate arrays (FPGAs). In some examples, the biometricprocessors 104 include application specific integrated circuit (ASIC)processors. In some examples, the biometric processors 104 include acombination of FPGAs and ASIC.

The biometric processors 104 may process in parallel (e.g., partially orfully) image data received from the connected image sensors 102according to one or more biometric algorithms. The image data may be anindividual still image or a sequence of images (or frames) constitutinga video. In some examples, the image data is digital image data. In someexamples, the image data may be a numeric representation of atwo-dimensional image having digital values called picture elements orpixels, where each pixel has a luminance value indicating a level ofbrightness. The image data may include a fixed number of rows andcolumns of pixels, where the pixels are the smallest individual elementin an image, holding quantized values that represent the brightness of agiven color at any specific point.

Each biometric processor 104 can be programmed either for the samebiometric or different biometrics pending on which area of the field ofview a biometric is expected to be present. For example, it may bedetermined that the second image sensor 102-2 and the third image sensor102-3 are good candidates within the total field of view for irisdetection (e.g., it is likely that a person's eyes would enter the fieldof views for the second image sensor 102-2 and the third image sensor102-3), while the first image sensor 102-1 has a field of view that isgood for facial recognition (e.g., it is likely that a person's facewould enter the field of view for the first image sensor 102-1). In thiscase, the second biometric processor 104-2 and third biometric processor104-3 would be programmed for iris detection, and the first biometricprocessor 104-1 would be programmed for facial recognition. For irisdetection or facial recognition (or other biometrics), in some examples,a biometric algorithm includes checking the quality of the source image,determining the number of available minutia available for creating abiometric template, extracting a biometric template from the image data,and saving reference image data from the image data. The biometrictemplate may be a digital reference of one or more distinctcharacteristics that have been extracted from the corresponding imagedata. For example, a fingerprint template may consist of a vectorrepresentation of minutia extracted from the reference image, consistingof x-y coordinates along with a minutiae type and strength. Thesetemplates may be compared by biometric matching systems to determinelikelihood of match. These templates are smaller than the images fromthe image sensors 102 and are inherently comparable with each other,which speeds up processing. The reference image may be a WSQ compressedgrayscale fingerprint image.

The first biometric processor 104-1 is configured to receive and processimage data from the first image sensor 102-1 according to a firstbiometric algorithm. The second biometric processor 104-2 is configuredto receive and process image data from the second image sensor 102-2according to a second biometric algorithm. The third biometric processor104-3 is configured to receive and process image data from the thirdimage sensor 102-3 according to a third biometric algorithm. The Mthbiometric processor 104-M is configured to receive and process imagedata from the Nth image sensor 102-N according to another biometricalgorithm. In some examples, the first biometric algorithm, the secondbiometric algorithm, and the third biometric algorithm relate to thedetection of the same biometric (e.g., all biometric processors 104 areused for the capture of the same biometric, e.g., face detection). Insome examples, the first biometric algorithm is a different biometricalgorithm relating to the capture of a different biometric than theother biometric algorithms. In these examples, the biometric processors104 are configured to detect multiple different biometrics in parallelat different subsections of the total field of view (e.g., in the casewhere each image sensors 102 has a different, non-overlapping field ofview) or at one of more of the same subsections (e.g., in the case whereat least some of the image sensors 102 has overlapping field of views).

The controller 106 may be connected to each of the biometric processors104. For example, the controller 106 may be connected to each of thefirst biometric processor 104-1, the second biometric processor 104-2,and the third biometric processor 104-3 through Mth biometric processor104-M. In some examples, the controller 106 is connected to a particularbiometric processor 104 via one or more data communication lines (whichthe controller 106 receives biometric data from the correspondingbiometric processor 104) and one or more reprogramming lines (which thecontroller 106 can reprogram the corresponding biometric processor 104).In some examples, the controller 106 includes a microcontroller (MCU).In some examples, the controller 106 includes one or more computerprocessing units (CPUs) and a memory. The controller 106 may receivebiometrics data from each of the biometric processors 104 via the one ormore data communication lines, and buffer the biometrics data (e.g.,while its being transferred to the host computing device 110). In someexamples, the biometrics data includes an extracted template andreference image data.

The memory of the controller 106 may store the programming (e.g., hex)files for the biometric processing functions performed at the biometricprocessors 104. In some examples, each file corresponds to a differentbiometric algorithm. In some examples, each file corresponds to adifferent biometric processor 104.

The controller 106 may be communicatively coupled to a host computingdevice 110 via the network interface 108. In some examples, the networkinterface 108 is a wired interface, where the controller 106 isconnected to the host computing device 110 via a wired connection. Insome examples, the network interface 108 is a wireless network interface(e.g., mobile, Wi-Fi, short-range data communication, etc.), where thecontroller 106 wirelessly communicates with the host computing device110. In some examples, the host computing device 110 may be remote fromthe biometric camera device 100 (e.g., at a different location withinthe same building or a different geographical location). In someexamples, the host computing device 110 is a personal computer, laptop,or desktop computer. In some examples, the host computing device 110includes one or more server devices.

The controller 106 may transmit, over a network (e.g., wireless or wirednetwork connection) the biometric data to the host computing device 110.In some examples, the controller 106 only sends processing results data(e.g. whether a face was detected in the field of view) to the hostcomputing device 110. In some examples, the controller 106 only sendsthe relevant biometric information (e.g., the extracted template andreference image data) to the host computing device 110 (e.g., as opposedto the image data captured from the image sensors 102 which can berelatively large and consume a large amount of bandwidth). In someexamples, the biometric camera device 100 filters out the extraneousimage data and sends only the captured biometric template and thereference image (thereby reducing data transfer load). In some examplesthe biometric camera device 100 may send only the “fact-of” detection ofa valid biometric (e.g. a face) and its position in a scene.

The controller 106 may be configured to reprogram each biometricprocessor 104 to perform a different image processing algorithm uponcommands from the host computing device 110 and new instruction filescan be writable to the memory of the controller 106. For example, thebiometric processors 104 can be reprogrammed to find other biometricsthrough the controller 106, which allows dynamic reconfiguring in thefield. In some examples, the controller 106 receives reprogramminginformation, over a network (e.g., wireless or wired connection) fromthe host computing device 110. The reprogramming information may includeinstructions for the controller 106 to reprogram one or more of thebiometrics processors 104. The controller 106 may reprogram one of moreof the biometrics processors 104 based on the received reprogramminginformation. In some examples, the controller 106 may reprogram thefirst biometrics processor 104-1 to process its image data according toa biometrics algorithm different than the first biometrics algorithm. Insome examples, the controller 106 may reprogram the first biometricsprocessor 104-1 for iris detection (instead of facial recognition). Insome examples, the controller 106 may update (e.g., change, add, ordelete) one or more settings for the current biometrics algorithm or mayupdate to a newer version of the same algorithm. In some examples, thecontroller 106 may enable or disable one or more of the-biometricprocessors 104 if they are not needed or are not operating correctly.

FIG. 2 illustrates a system 205 having a host computing device 210 forremotely controlling a plurality of biometric camera devices accordingto an implementation. As shown in in FIG. 2, the host computing device210 is communicatively coupled, via a network 250, to a plurality ofbiometric camera devices including a first biometric camera device 200,a second biometric camera device 220, and a third biometric cameradevice 240. Each of the first biometric camera device 200, the secondbiometric camera device 220, and the third biometric camera device 240may be any of the biometric camera devices discussed herein. In someexamples, the hosting computing device 210 is a computer (laptop,desktop, tablet, etc.). In some examples, the hosting computing device210 is a server. The hosting computing device 210 includes a cameramanagement application 225 configured to remotely manage the settings ofthe biometric camera devices. In some examples, the camera managementapplication 225 is a native application executing on an operating systemof the hosting computing device 210. In some examples, the cameramanagement application 225 is a web application executing on a remoteserver but accessed via the hosting computing device 210.

The network 250 may thus represent, for example, the public Internet orother wide area public or private network. The network 250 mayrepresent, in further examples, a corporate or other intranet, and/or asmaller-scale, local or personal network, any of which may beimplemented using standard network technology. In some examples, thenetwork 250 is a wireless network secured by a security protocol.

Each of the first biometric camera device 200, the second biometriccamera device 220, and the third biometric camera device 240 isconfigured to communicate with the host computing device 210. Each ofthese devices may include a client device that is configured to connectto the host computing device 210 via the network 250 such that thebiometric camera devices and the host computing device 210 cancommunicate with each other. In some examples, the host computing device210 may receive only the biometric data from each of the biometriccamera devices (in the manner as explained above). In some examples, auser may use the camera management application 225 to reprogram one ormore of the biometric camera devices. In this manner, a user cancentrally control the settings of the biometric camera devices. In someexamples, the first biometric camera device 200 may be located atlocation A, the second biometric camera device 220 may be located atlocation B, and the third biometric camera device 240 may be located atlocation C. Locations A, B, and C may be different locations within abuilding (e.g., different locations within the airport) or differentgeographical locations (e.g., different locations along a country'sborder). However, by using the camera management application 225, a usercan centrally control the different biometric camera devices.

The host computing device 210 may send reprogramming information to thefirst biometric camera device 200. The reprogramming information sent tothe first biometric camera device 200 may include instructions onreprogramming one or more biometric processors included within the firstbiometric camera device 200. In some examples, one or more of thebiometric processors included within the first biometric camera device200 may be reprogrammed to process image data from their correspondingimage sensors according to a different biometric. The host computingdevice 210 may send reprogramming information to the second biometriccamera device 220, and the third biometric camera device 240 in the samefashion. Also, it is noted that although the system 205 depicts threebiometric camera devices, the system 205 may include any number ofbiometric camera devices.

FIG. 3 illustrates a biometric camera device 300 for parallel imageprocessing for capturing one or more biometrics according to anotherimplementation. The biometric camera device 300 includes 1 to N imagesensors 302 with 1 to N dedicated FPGAs 304 for each image sensor 302.Each FPGA 304 is configured to function as an image processor for theimage data captured by its corresponding image sensor 302. Each FPGA 304can separately implement an image processing algorithm as physicalhardware circuitry, which may be more efficient in performing parallelcomputations and can be faster (e.g., orders of magnitude faster) thansoftware running on an operating system. Each FPGA 304 is connected to acontrolling microcontroller (MCU) 306 through one or more datacommunication lines and one or more reprogramming lines. The imagesensors 302 may be arranged in any geometric shape or pattern, which maybe dependent on the type of application of the biometric camera device300.

As shown in FIG. 3, the image sensors 302, collectively, define a totalfield of view 350. The image sensors 302 may be arranged such that thetotal field of view 350 is divided into smaller subsections 352, whereeach subsection corresponds to a field of view of a different imagesensor 302. In other words, the individual image sensors 302 have fieldof views that do not substantially overlap with each other. As shown inFIG. 3, the image sensors 302 include sensor (1, 1) and sensor (N, 1).The sensor (1, 1) has a field of view (FOV) that corresponds to aparticular subsection 352 (e.g., first row, first column) of the totalfield of view 350. The sensor (N, 1) has a field of view (FOV) thatcorresponds to another subsection 352 (e.g., N row, first column) of thetotal field of view 350. In the example of FIG. 3, there are 9 imagesensors 302. However, it is noted that the embodiments encompass anynumber of image sensors 302. Each image sensor 302 transmits its imagedata to the corresponding FPGA 304 to search for its target biometric.Each FPGA 304 is configured to extract a biometric template and savereference image data, and all information is fed to the MCU 306 forbuffering.

Each FPGA 304 is programmed either for the same biometric or differentbiometrics pending on which area of the total field of view 350 aparticular biometric can be expected to be present. In some examples,both sensor (1, 1) and sensor (1, N) may be configured for biometric A,or sensor (1, 1) may be configured for biometric A while sensor (N, 1)may be configured for biometric B, where biometric A, and biometric Bare different biometrics.

FIG. 4 illustrates a biometric camera device 400 for parallel imageprocessing for capturing one or more biometrics according to anotherimplementation. The biometric camera device 400 includes a first imagesensor 402-1, a second image sensor 402-2, and a third image sensor402-3. The biometric camera device 400 includes a first FPGA 404-1connected to the first image sensor 402-1, a second FPGA 404-2 connectedto the second image sensor 402-2, and a third FPGA 404-3 connected tothe third image sensor 402-3. The biometric camera device 400 includes amicrocontroller 406 connected to each of the first FPGA 404-1, thesecond FPGA 404-2, and the third FPGA 404-3. The biometric camera device400 may include any of the features described with reference to any ofthe previous biometric camera devices (e.g., 100/200/300).

However, the biometric camera device 400 may have overlapping fields ofview placed in proximity to each other, and these groups have adifferent biometric algorithm programmed into each FPGA 404 to optimizesearching the field of view of multiple biometrics simultaneously. Inother words, the biometric camera device 400 may place image sensors 402in proximity to each other with overlapping fields of view and the FPGAs404 programmed for different biometrics can capture multiple types ofbiometric templates simultaneously with no delay (or very little delay).In the example of FIG. 4, the first FPGA 404-1 is programmed forbiometric A (e.g., iris detection—left eye), the second FPGA 404-2 isprogrammed for biometric B (e.g., facial recognition), and the thirdFPGA 404-3 is programmed for biometric A (e.g., iris detection—righteye). The first image sensor 402-1 may have a first field of view thatcorresponds to a first subsection 452-1, the second image sensor 402-2may have a second field of view that corresponds to a second subsection452-2, and the third image sensor 402-3 may have a third field of viewthat corresponds to a third subsection 452-3. As shown in FIG. 4, thesecond subsection 452-2 overlaps with the first subsection 452-1 and thethird subsection 452-3, but the first subsection 452-1 is substantiallyseparate from the third subsection 452-3. As such, the first imagesensor 402-1 and the second image sensor 402-2 (and/or the third imagesensor 402-3 and the second image sensor 402-2) can search the same areafor different biometrics.

FIG. 5 illustrates a biometric camera device 500 for parallel imageprocessing for capturing one or more biometrics according to anotherimplementation. The biometric camera device 500 includes a grid ofgeometric pairs of image sensors. The geometric pairs may search thesame subset of the overall field of view for their unique programmedbiometrics. The pairs spread across the grid would allow for searching arelatively large field of view for all biometrics present in a person.

The biometric camera device 500 includes a first image sensor 502-1, asecond image sensor 502-2, a third image sensor 502-3, and a fourthimage sensor 504-4. The first image sensor 502-1 and the second imagesensor 502-2 may be considered a first pair of image sensors, and thethird image sensor 502-3 and the fourth image sensor 504-4 may beconsidered a second pair of image sensors. The first pair may search afirst subsection of the overall field of view, and the second pair maysearch a second subsection of the overall field of view. In someexamples, the second subsection may be distinct and separate from thefirst subsection.

The biometric camera device 500 includes a first FPGA 504-1 connected tothe first image sensor 502-1, a second FPGA 504-2 connected to thesecond image sensor 502-2, a third FPGA 504-3 connected to the thirdimage sensor 502-3, and a fourth FPGA 504-4 connected to the fourthimage sensor 502-4. The biometric camera device 400 includes amicrocontroller 506 connected to each of the first FPGA 504-1, thesecond FPGA 504-2, the third FPGA 504-3, and the fourth FPGA 504-4. Thebiometric camera device 500 may include any of the features describedwith reference to any of the previous biometric camera devices (e.g.,100/200/300/400).

Each image sensor within a respective pair may search for a uniqueprogrammed biometric. For example, with respect to the first pair, thefirst FPGA 504-1 is programmed for biometric A (e.g., palm detection),and the second FPGA 504-2 is programmed for biometric B (e.g.,fingerprint). With respect to the second pair, the third FPGA 504-3 isprogrammed for biometric A (e.g., palm detection), and the fourth FPGA504-4 is programmed for biometric B (e.g., fingerprint). Although twopairs of image sensors are shown in FIG. 5, it is understood that thebiometric camera device 500 may include more than two pairs of imagesensors (e.g., 3, 4, 5, or any number more than 5). In addition,although the second pair is programmed for the same biometrics as thefirst pair, in some examples, the second pair (or the third pair) isprogramed for a different set of biometrics than the first pair.

FIG. 6 illustrates a biometric camera device 600 for parallel imageprocessing for capturing one or more biometrics according to anotherimplementation. As shown in FIG. 6, the biometric camera device 600 isconfigured to communicate with a host computing device 610 via a wiredor wireless connection. The biometric camera device 600 may include anyof the features previously discussed with reference to FIGS. 1-5.

The biometric camera device 600 may include 1 to N image sensors with 1to N dedicated FPGAs for each image sensor and a controlling MCU 606.For example, the biometric camera device 600 may include a first imagesensor 602-1 connected to a first FPGA 604-1, a second image sensor602-2 connected to a second FPGA 604-2, a third image sensor 602-3connected to a third FPGA 604-3, and a fourth image sensor 602-4connected to a fourth FPGA 602-4. In some examples, each image sensor602 is connected to a corresponding FPGA 604 via one or more datacommunication lines 652 and one or more reprogramming lines 654. Thebiometric camera device 600 includes a MCU 606 that is connected to eachof the first FPGA 604-1, the second FPGA 604-2, the third FPGA 604-3,and the fourth FPGA 604-4.

In some examples, the MCU 606 may have a standardized high speedcommunication port to the host computing device 610 (e.g., serial,parallel, wireless, or TCP/IP). Also, the MCU 606 includes an embeddedmemory. The embedded memory may store all programming (hex) files forthe FPGA image processing functions (e.g., one file for FaceRecognition, one for Iris, etc.). The MCU 606 may be configured toreprogram each FPGA to perform a different image processing algorithmupon commands from the host computing device 610 and new instructionfiles will be writeable to the embedded memory of the MCU 606. In someexamples, the biometric camera device 600 includes 1 to N lenses withfocal points directed to their respective image sensors. In someexamples, the biometric camera device 600 is packaged as an externaldevice that can be mounted on a desk, on electronic immigration gates,kiosks, automobiles, or handheld devices. In some examples, thebiometric camera device 600 may be equipped with a battery and wirelesscommunications for mobile applications.

FIG. 7 is a flowchart 700 illustrating example operations of a biometriccamera device according to an implementation. Although the flowchart 700of FIG. 7 illustrates the operations in sequential order, it will beappreciated that this is merely an example, and that additional oralternative operations may be included. Further, operations of FIG. 7and related operations may be executed in a different order than thatshown, or in a parallel or overlapping fashion. The following operationmay be performed by biometric camera device 100, 200, 300, and/or 600,and may include any additional features/operations discussed withreference to FIGS. 1-3 and 6.

Operation 702 includes detecting, by a first image sensor of a pluralityof image sensors, first image data. The plurality of image sensorsdefines a total field of view. The first image sensor has a first fieldof view that corresponds to a first subsection of the total field ofview.

Operation 704 includes detecting, by a second image sensor of theplurality of image sensors, second image data. The second image sensorhas a second field of view that corresponds to a second subsection ofthe total field of view.

Operation 706 includes processing, by a first biometric processorconnected to the first image sensor, the first image data according to afirst biometric algorithm to extract a first biometric template.

Operation 708 includes processing, by a second biometric processorconnected to the second image sensor, the second image data according toa second biometric algorithm to extract a second biometric template.

Operation 710 includes receiving, by a controller connected to each ofthe first and second biometrics processors, the first biometric templateand the second biometric template from the first biometric processor andthe second biometric processor, respectively.

FIG. 8 is a flowchart 800 illustrating example operations of a biometriccamera device according to another implementation. Although theflowchart 800 of FIG. 8 illustrates the operations in sequential order,it will be appreciated that this is merely an example, and thatadditional or alternative operations may be included. Further,operations of FIG. 8 and related operations may be executed in adifferent order than that shown, or in a parallel or overlappingfashion. The following operation may be performed by biometric cameradevice 100, 200, 400, and/or 600, and may include any additionalfeatures/operations discussed with reference to FIGS. 1, 2, 4, and 6.

Operation 802 includes detecting, by a first image sensor of a pluralityof image sensors, first image data. The plurality of image sensorsdefines a total field of view. The first image sensor has a first fieldof view.

Operation 804 includes detecting, by a second image sensor of theplurality of image sensors, second image data. The second image sensorhas a second field of view. The second field of view at least partiallyoverlaps with the first field of view.

Operation 806 includes processing, by a first biometric processorconnected to the first image sensor, the first image data according to afirst biometric algorithm to extract a first biometric template.

Operation 808 includes processing, by a second biometric processorconnected to the second image sensor, the second image data according toa second biometric algorithm to extract a second biometric template. Thesecond image data is processed at least partially in parallel with thefirst image data.

Operation 810 includes receiving, by a controller connected to each ofthe first and second biometrics processors, the first biometric templateand the second biometric template from the first biometric processor andthe second biometric processor, respectively.

FIG. 9 is a flowchart 900 illustrating example operations of a biometriccamera device according to another implementation. Although theflowchart 900 of FIG. 9 illustrates the operations in sequential order,it will be appreciated that this is merely an example, and thatadditional or alternative operations may be included. Further,operations of FIG. 9 and related operations may be executed in adifferent order than that shown, or in a parallel or overlappingfashion. The following operation may be performed by biometric cameradevice 100, 200, 500, and/or 600, and may include any additionalfeatures/operations discussed with reference to FIGS. 1, 2, 5 and 6.

Operation 902 includes searching, by a first pair of image sensors, afirst subsection of an overall field of view of a biometrics cameradevice. The first pair of image sensors includes a first image sensorand a second image sensor.

Operation 904 includes searching, by a second pair of image sensors, asecond subsection of the overall field of view of the biometrics cameradevice. The second pair of image sensors includes a third image sensorand a fourth image sensor.

Operation 906 includes processing, by a first biometric processorconnected to the first image sensor, image data captured by the firstimage sensor from the first subsection according to a first biometricalgorithm.

Operation 908 includes processing, by a second biometric processorconnected to the second image sensor, image data captured by the secondimage sensor from the first subsection according to a second biometricalgorithm.

Operation 910 includes processing, by a third biometric processorconnected to the third image sensor, image data captured by the thirdimage sensor from the second subsection according to the first biometricalgorithm.

Operation 912 includes processing, by a fourth biometric processorconnected to the fourth image sensor, image data captured by the fourthimage sensor from the second subsection according to the secondbiometric algorithm.

Thus, various implementations of the systems and techniques describedhere can be realized in digital electronic circuitry, integratedcircuitry, specially designed ASICs (application specific integratedcircuits), computer hardware, firmware, software, and/or combinationsthereof. These various implementations can include implementation in oneor more computer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichmay be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms “machine-readable medium”“computer-readable medium” refers to any computer program product,apparatus and/or device (e.g., magnetic discs, optical disks, memory,Programmable Logic Devices (PLDs)) used to provide machine instructionsand/or data to a programmable processor, including a machine-readablemedium that receives machine instructions as a machine-readable signal.The term “machine-readable signal” refers to any signal used to providemachine instructions and/or data to a programmable processor.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for displaying information to the user and a keyboard and a pointingdevice (e.g., a mouse or a trackball) by which the user can provideinput to the computer. Other kinds of devices can be used to provide forinteraction with a user as well; for example, feedback provided to theuser can be any form of sensory feedback (e.g., visual feedback,auditory feedback, or tactile feedback); and input from the user can bereceived in any form, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a back end component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a front end component (e.g., a client computerhaving a graphical user interface or a Web browser through which a usercan interact with an implementation of the systems and techniquesdescribed here), or any combination of such back end, middleware, orfront end components. The components of the system can be interconnectedby any form or medium of digital data communication (e.g., acommunication network). Examples of communication networks include alocal area network (“LAN”), a wide area network (“WAN”), and theInternet.

In addition, the logic flows depicted in the figures do not require theparticular order shown, or sequential order, to achieve desirableresults. In addition, other steps may be provided, or steps may beeliminated, from the described flows, and other components may be addedto, or removed from, the described systems. Accordingly, otherembodiments are within the scope of the following claims.

It will be appreciated that the above embodiments that have beendescribed in particular detail are merely example or possibleembodiments, and that there are many other combinations, additions, oralternatives that may be included.

Some portions of above description present features in terms ofalgorithms and symbolic representations of operations on information.These algorithmic descriptions and representations may be used by thoseskilled in the data processing arts to most effectively convey thesubstance of their work to others skilled in the art. These operations,while described functionally or logically, are understood to beimplemented by computer programs. Furthermore, it has also provenconvenient at times, to refer to these arrangements of operations asmodules or by functional names, without loss of generality.

Unless specifically stated otherwise as apparent from the abovediscussion, it is appreciated that throughout the description,discussions utilizing terms such as “processing” or “computing” or“calculating” or “determining” or “displaying” or “providing” or thelike, refer to the action and processes of a computer system, or similarelectronic computing device, that manipulates and transforms datarepresented as physical (electronic) quantities within the computersystem memories or registers or other such information storage,transmission or display devices.

What is claimed is:
 1. A biometric camera device for capturing multiplebiometrics at least partially in parallel, the biometric camera devicecomprising: a plurality of image sensors including a first image sensorand a second image sensor; a plurality of biometric processors includinga first biometric processor connected to the first image sensor and asecond biometric processor connected to the second image sensor, thefirst biometric processor configured to receive and process image datafrom the first image sensor according to a first biometric algorithm toextract a first biometric template relating to a first biometric, thesecond biometric processor configured to receive and process image datafrom the second image sensor according to a second biometric algorithmto extract a second biometric template relating to a second biometric,the second biometric being different from the first biometric, whereinimage processing and extraction of the first biometric template areperformed at least partially in parallel with image processing andextraction of the second biometric template; and a controller connectedto each of the plurality of biometric processors, the controllerconfigured to receive biometric data from each of the biometricplurality of biometric processors, wherein the controller is configuredto receive reprogramming information from a host computer and reprogramthe first biometric processor based on the reprogramming information toupdate the first biometric algorithm or implement a new biometricalgorithm at the first biometric processor.
 2. The biometric cameradevice of claim 1, wherein the controller includes an embedded memory,the embedded memory including a plurality of programming files, theplurality of programming files including a first programming file forthe first biometric algorithm and a second programming file for thesecond biometric algorithm.
 3. The biometric camera device of claim 2,wherein the controller is configured to update the first programmingfile based on the reprogramming information.
 4. The biometric cameradevice of claim 1, wherein each of the first biometric and the secondbiometric includes face recognition, iris recognition, fingerprintrecognition, or palm recognition.
 5. The biometric camera device ofclaim 1, wherein the controller is communicatively coupled to the hostcomputing device, wherein the controller is configured to transmit thebiometric data to the host computing device.
 6. The biometric cameradevice of claim 5, wherein the controller is configured to filter thebiometric data to remove a portion of the image data captured by thefirst and second image sensors such that the filtered biometric datathat is sent to the host computing device includes the first and secondbiometric templates and one or more reference images associated with thefirst and second biometrics.
 7. The biometric camera device of claim 1,wherein the controller is configured to reprogram the first biometricprocessor to execute a third biometric algorithm to capture a thirdbiometric using a third image sensor and a fourth image sensor based onthe reprogramming information, the third and fourth image sensors beingdifferent from the first and second image sensors.
 8. The biometriccamera device of claim 1, wherein the plurality of image sensors definea total field of view, the total field of view being divided intodistinct, separate subsections including a first subsection and a secondsubsection, the first image sensor having a field of view correspondingto the first subsection, the second image sensor having a field of viewcorresponding to the second subsection.
 9. The biometric camera deviceof claim 1, wherein the first image sensor has a first field of view,and the second image sensor has a second field of view, the second fieldof view at least partially overlapping with the second field of view.10. The biometric camera device of claim 1, wherein the first biometricprocessor includes a field-programmable gate array, and the controllerincludes a microcontroller having an embedded memory.
 11. The biometriccamera device of claim 1, wherein the first biometric processor includesan application specific integrated circuit (ASIC) processor, and thecontroller includes a microcontroller having an embedded memory.
 12. Thebiometric camera device of claim 1, wherein a number of the plurality ofimage sensors is equal to or greater than ten.
 13. The biometric cameradevice of claim 1, wherein the controller is connected to the firstbiometric processor via at least one data communication line and atleast one reprogramming line, the at least one data communication lineconfigured to transmit the biometric data, the at least onereprogramming line configured to transmit the reprogramming information.14. The biometric camera device of claim 1, wherein the plurality ofimage sensors, collectively, define an overall field of view configuredto simultaneously capture image information from a hand and a face of aperson.
 15. The biometric camera device of claim 1, further comprising:a housing coupled to the plurality of image sensors, the plurality ofbiometric processors, and the controller.
 16. A method for imageprocessing for capturing multiple biometrics at least partially inparallel, the method comprising: detecting, by a first image sensor of aplurality of image sensors, first image data, the plurality of imagesensors defining a total field of view, the first image sensor having afirst field of view that corresponds to a first subsection of the totalfield of view; detecting, by a second image sensor of the plurality ofimage sensors, second image data, the second image sensor having asecond field of view that corresponds to a second subsection of thetotal field of view; processing, by a first biometric processorconnected to the first image sensor, the first image data according to afirst biometric algorithm to extract a first biometric template relatingto a first biometric; processing, by a second biometric processorconnected to the second image sensor, the second image data according toa second biometric algorithm to extract a second biometric templaterelating to a second biometric, the second biometric being differentfrom the first biometric, wherein image processing and extraction of thefirst biometric template are performed at least partially in parallelwith image processing and extraction of the second biometric template;receiving, by a controller connected to each of the first and secondbiometrics processors, the first biometric template and the secondbiometric template from the first biometric processor and the secondbiometric processor, respectively; receiving, by the controller,reprogramming information from a host computer communicatively coupledto the controller; and reprogramming, by the controller, the firstbiometric processor based on the reprogramming information to update thefirst biometric algorithm or implement a new biometric algorithm at thefirst biometric processor.
 17. The method of claim 16, wherein thecontroller includes an embedded memory, the embedded memory including aplurality of programming files, the plurality of programming filesincluding a first programming file for the biometric algorithm and asecond programming file for the second biometric algorithm, wherein thereprogramming step includes writing a new programming file for a thirdbiometric algorithm to be executed by the first biometric processor, thethird biometric algorithm being different from the first biometricalgorithm and the second biometric algorithm.
 18. The method of claim16, further comprising: detecting, by a third image sensor of theplurality of image sensors, third image data, the third image sensorhaving a third field of view that corresponds to a third subsection ofthe total field of view; and processing, by a third biometric processorconnected to the third image sensor, the third image data according to athird biometric algorithm to extract a third biometric template relatingto a third biometric, the third biometric being different from the firstbiometric and the second biometric, wherein image processing andextraction of the third biometric template are performed at leastpartially in parallel with image processing and extraction of the secondbiometric template.
 19. A non-transitory computer readable mediumstoring executable instructions that when executed by at least oneprocessor is configured to perform image processing for capturingmultiple biometrics at least partially in parallel, the executableinstructions configured to cause the at least one processor to: detect,by a first image sensor of a plurality of image sensors, first imagedata, the plurality of image sensors defining a total field of view, thefirst image sensor having a first field of view; detect, by a secondimage sensor of the plurality of image sensors, second image data, thesecond image sensor having a second field of view, the second field ofview at least partially overlapping with the first field of view;process, by a first biometric processor connected to the first imagesensor, the first image data according to a first biometric algorithm toextract a first biometric template relating to a first biometric;process, by a second biometric processor connected to the second imagesensor, the second image data according to a second biometric algorithmto extract a second biometric template relating to a second biometric,the second biometric being different from the first biometric, whereinimage processing and extraction of the first biometric template areperformed at least partially in parallel with image processing andextraction of the second biometric template; receive, by a controllerconnected to each of the first and second biometrics processors, thefirst biometric template and the second biometric template from thefirst biometric processor and the second biometric processor,respectively; receive, by the controller, reprogramming information froma host computer communicatively coupled to the controller; andreprogram, by the controller, the first biometric processor based on thereprogramming information to update the first biometric algorithm orimplement a new biometric algorithm at the first biometric processor.20. The non-transitory computer readable medium of claim 19, wherein theexecutable instructions include instructions that when executed by theat least one processor cause the at least one processor to: detect, by athird image sensor of the plurality of image sensors, third image data,the third image sensor having a third field of view, the third field ofview being a subsection of a total field of view different than thefirst field of view; and process, by a third biometric processorconnected to the third image sensor, the third image data according to athird biometric algorithm to extract a third biometric template relatingto a third biometric, the third biometric being different from the firstbiometric and the second biometric, wherein image processing andextraction of the third biometric template are performed at leastpartially in parallel with image processing and extraction of the secondbiometric template.